<article id="wikiArticle">
<div></div>
<p>下面介绍的是JavaScript从Netscape Navigator 3.0到4.0的更新日志。旧的Netscape文档可以在<a class="external" href="https://web.archive.org/web/19971015223714/http://developer.netscape.com/library/documentation/communicator/jsguide/js1_2.htm" rel="noopener">archive.org</a>上面找到。Netscape Navigator 4.0在1997年6月11日发布，它是是支持JavaScript的浏览器的第三个主要的版本。</p>
<h2 id="JavaScript_版本">JavaScript 版本</h2>
<p>Netscape Navigator 4.0将JavaScript语言的版本升到1.2。需要注意的是，Netscape Navigator 3.0以及更早的版本忽略了设置为"JavaScript 1.2"和更高的版本的脚本语言属性。</p>
<pre><code class="language-html">&lt;SCRIPT LANGUAGE="JavaScript1.1"&gt; &lt;!-- JavaScript for Navigator 3.0. --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.2"&gt; &lt;!-- JavaScript for Navigator 4.0. --&gt;</code></pre>
<h2 id="JavaScript_1.2新特性">JavaScript 1.2新特性</h2>
<h3 id="新增的对象">新增的对象</h3>
<ul>
<li>可以使用简明的字面记号来创建对象。（灵感来自Python 1.x的dictionary的简明语法）</li>
<li>数字也可以使用简明的字面记号来创建。（灵感来自Python 1.x的字list的简明语法）</li>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/arguments">arguments</a></li>
</ul>
<h3 id="新增的属性">新增的属性</h3>
<ul>
<li><a href="Reference/Global_Objects/Function/arity" title="返回一个函数的形参数量."><code>Function.arity</code></a></li>
</ul>
<h3 id="新增的方法">新增的方法</h3>
<ul>
<li><a href="Reference/Global_Objects/Array/concat" title="concat() 方法用于合并两个或多个数组。此方法不会更改现有数组，而是返回一个新数组。"><code>Array.prototype.concat()</code></a></li>
<li><a href="Reference/Global_Objects/Array/slice" title="The source for this interactive demo is stored in a GitHub repository. If you'd like to contribute to the interactive demo project, please clone https://github.com/mdn/interactive-examples and send us a pull request."><code>Array.prototype.slice()</code></a></li>
<li><a href="Reference/Global_Objects/String/charCodeAt" title="charCodeAt() 方法返回0到65535之间的整数，表示给定索引处的UTF-16代码单元 (在 Unicode 编码单元表示一个单一的 UTF-16 编码单元的情况下，UTF-16 编码单元匹配 Unicode 编码单元。但在——例如 Unicode 编码单元 &gt; 0x10000 的这种——不能被一个 UTF-16 编码单元单独表示的情况下，只能匹配 Unicode 代理对的第一个编码单元) 。如果你想要整个代码点的值，使用 codePointAt()。"><code>String.prototype.charCodeAt()</code></a></li>
<li><a href="Reference/Global_Objects/String/concat" title="concat() 方法将一个或多个字符串与原字符串连接合并，形成一个新的字符串并返回。"><code>String.prototype.concat()</code></a></li>
<li><a href="Reference/Global_Objects/String/fromCharCode" title="静态 String.fromCharCode() 方法返回使用指定的Unicode值序列创建的字符串。"><code>String.fromCharCode()</code></a></li>
<li><a href="Reference/Global_Objects/String/match" title="当一个字符串与一个正则表达式匹配时， match()方法检索匹配项。"><code>String.prototype.match()</code></a></li>
<li><a href="Reference/Global_Objects/String/replace" title="replace() 方法返回一个由替换值替换一些或所有匹配的模式后的新字符串。模式可以是一个字符串或者一个正则表达式, 替换值可以是一个字符串或者一个每次匹配都要调用的函数。"><code>String.prototype.replace()</code></a></li>
<li><a href="Reference/Global_Objects/String/search" title="search() 方法执行正则表达式和 String对象之间的一个搜索匹配。"><code>String.prototype.search()</code></a></li>
<li><a href="Reference/Global_Objects/String/slice" title="slice() 方法提取一个字符串的一部分，并返回一新的字符串。"><code>String.prototype.slice()</code></a></li>
<li><a href="Reference/Global_Objects/String/substr" title="substr() 方法返回一个字符串中从指定位置开始到指定字符数的字符。"><code>String.prototype.substr()</code></a></li>
</ul>
<h3 id="新增的操作符">新增的操作符</h3>
<ul>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/delete"><code>delete</code></a></li>
<li><a href="/en-US/docs/Web/JavaScript/Equality_comparisons_and_when_to_use_them">Equality operators</a> (<code>==</code> and <code>!=</code>)</li>
</ul>
<h3 id="新增的语句">新增的语句</h3>
<ul>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/label">Labeled</a> 语句</li>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/switch"><code>switch</code></a></li>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/do...while"><code>do...while</code></a></li>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/import"><code>import</code></a></li>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/export"><code>export</code></a></li>
</ul>
<h3 id="其他新特性">其他新特性</h3>
<ul>
<li><a href="/en-US/docs/Web/JavaScript/Guide/Regular_Expressions">Regular Expressions</a></li>
<li><a class="external" href="https://web.archive.org/web/19971015223714/http://developer.netscape.com/library/documentation/communicator/jsguide/js1_2.htm" rel="noopener">Signed scripts</a></li>
</ul>
<h2 id="JavaScript_1.2修改的功能">JavaScript 1.2修改的功能</h2>
<ul>
<li>现在你可以在函数内部嵌套函数。</li>
<li>Number现在可以将指定的对象转换为数字。</li>
<li>如果x是一个不包含格式良好的数字字面的字符串，Number将会生成一个NaN而不是一个错误。</li>
<li>Stirng现在可以将指定的对象转换为字符串。</li>
<li><a href="Reference/Global_Objects/Array/sort" title="sort() 方法用原地算法对数组的元素进行排序，并返回数组。排序算法现在是稳定的。默认排序顺序是根据字符串Unicode码点。"><code>Array.prototype.sort()</code></a> 现在能在所有平台上工作。它不会再将未定义的元素转换为null并且排序到数组最大的位置。</li>
<li><a href="Reference/Global_Objects/String/split" title="split() 方法使用指定的分隔符字符串将一个String对象分割成字符串数组，以将字符串分隔为子字符串，以确定每个拆分的位置。"><code>String.prototype.split()</code></a>
<ul>
<li>它即可以带一个确定的字符串参数去分割目标字符串，也可以带一个正则表达式参数。</li>
<li>它可以带一个限制的数量，这样可以让最终的结果数组不再包含在这之后的空元素。</li>
</ul>
</li>
<li><a href="Reference/Global_Objects/String/substring" title="substring() 方法返回一个字符串在开始索引到结束索引之间的一个子集, 或从开始索引直到字符串的末尾的一个子集。"><code>String.prototype.substring()</code></a>: 不再要求第二个索引值大于第一个。</li>
<li><code>toString()</code>: 现在可以把对象或者数组转换为文字。</li>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/break"><code>break</code></a> 和<a href="/en-US/docs/Web/JavaScript/Reference/Statements/continue"><code>continue</code></a> 语句现在可以在带标签的语句中使用。</li>
</ul>
</article>